package com.example.designpattern.observer;

/**
 * 1:通知更新使用同步或者异步
 * 2：解耦主题与观察者对象逻辑
 *
 * @author long
 */
public class TestExchangePriceChange {

    public static void main(String[] args) {
        // 创建股票交易所
        StockExchange exchange = new StockExchange();

        // 用户tom订阅
        TomObserver tomObserver = new TomObserver();
        exchange.subscribe(tomObserver);
        // 用户jack订阅
        JackObserver jackObserver = new JackObserver();
        exchange.subscribe(jackObserver);

        // 价格变化
        exchange.setPrice(2.33);

        // 用户jack解订阅
        exchange.unSubscribe(jackObserver);

        // 价格变化
        exchange.setPrice(4.33);
    }

}
